package com.suda.sudaexamsystem.mapper;

import com.suda.sudaexamsystem.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface NoticeUserMapper {
    // 添加公告可见用户
    void addUserToVisit(@Param("userId") int userId, @Param("noticeId") int noticeId);

    // 批量添加可见用户
    void addUserToVisitBatch(@Param("userList") List<User> userList, @Param("noticeId") int noticeId);

    // 取消用户可见
    void invisibleByUserId(@Param("userId") int userId, @Param("noticeId") int noticeId);

    // 批量取消用户可见
    void invisibleByUserIdBatch(@Param("userIds") String userIds, @Param("noticeId") int noticeId);

    // 查看当前公告可见用户
    List<User> findVisiableUsersByNoticeId(int noticeId);

    // 设置该公告的所有用户不可见
    void invisibleByNoticeId(int noticeId);
}
